package com.utils.basejava.customAnnotation;

import org.aspectj.lang.annotation.Aspect;

import java.lang.reflect.Method;

/**
 * @author xr-8
 * @date 2021-05-14
 * @time 0:06
 */
@Aspect
public class testBiztem {

    @BizTemplate(params = "a")
    public static String getStr(String a){
        System.out.println("hello world!"+a);
        return "hello JAVA~";
    }

    public static void main(String[] args){
        try {
            //获取Student的Class对象
            Class testBiztem = Class.forName("com.utils.basejava.customAnnotation.testBiztem");

            //说明一下，这里形参不能写成Integer.class，应写为int.class
            Method stuMethod = testBiztem.getMethod("getStr",String.class);

            if(stuMethod.isAnnotationPresent(BizTemplate.class)){
                System.out.println("testBiztem类上配置了BizTemplate注解！");
                //获取该元素上指定类型的注解
                BizTemplate bizTemplate = stuMethod.getAnnotation(BizTemplate.class);
                System.out.println("params: " + bizTemplate.params()[0]);



            }else{
                System.out.println("testBiztem类上没有配置BizTemplate注解！");
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        }
    }
}
